/**
 * msg显示函数
 * 
 * @param {}
 *            title 显示标题
 * @param {}
 *            msg 显示信息
 */
var msg = function(title, msginfo) {
	return Ext.Msg.show({
				title : title == null ? '无可显示标题' : title,
				msg : msginfo == null ? '无可显示信息' : msg,
				minWidth : 200,
				modal : true,
				icon : Ext.Msg.INFO,
				buttons : Ext.Msg.OK
			});
};
/**
 * @author sami 文件上传 文件上传Form
 */

function getUpldPanel(uploadurl, actionUrl, impId, classid, type) {
	var oldFileName = '';
	var filePath = '';
	var newFileName = '';
	var uploadfp = new Ext.FormPanel({
		fileUpload : true,
		width : 500,
		frame : true,
		id : 'uploadfp',
		autoHeight : true,
		bodyStyle : 'padding: 10px 10px 0 10px;',
		labelWidth : 50,
		defaults : {
			anchor : '95%',
			allowBlank : false,
			msgTarget : 'side'
		},
		items : [{
					xtype : 'textfield',
					fieldLabel : '选择文件',
					labelSeparator : '：',
					name : 'myfile',
					id : 'myfile',
					inputType : 'file',// 文件类型
					allowBlank : false,
					anchor : '90%'
				}],
		buttons : [{
					text : '上一步',
					handler : function() {
						Ext.getCmp('showW').destroy();
						interfaceWin.show();
					}
				}, {
					text : '上传',
					handler : function() {
						oldFileName = uploadfp.findById("myfile").getValue();
						var fileType = oldFileName.substring(oldFileName
										.lastIndexOf("."), oldFileName.length);
						if (".xls" == fileType) {
							if (uploadfp.getForm().isValid()) {
								uploadfp.getForm().submit({
									url : uploadurl == null ? '' : uploadurl,
									waitMsg : '文件正在上传...',
									success : function(request, result) {
										resutjson = Ext
												.decode(result.response.responseText);
										newFileName = resutjson.uploadName;
										filePath = resutjson.resultString;
										/*
										 * Ext.Msg.show({ title : '上传信息', msg :
										 * '文件' + oldFileName + '上传成功到服务器' +
										 * filePath + '', minWidth : 200, modal :
										 * true, icon : Ext.Msg.INFO, buttons :
										 * Ext.Msg.OK });
										 */

										var returnval = "{\"uploadInfo\" :{\"newFileName\":\""
												+ newFileName
												+ "\",\"uploadPath\":\""
												+ filePath
												+ "\",\"oldFileName\":\""
												+ oldFileName + "\"}}";
										showTable(actionUrl, impId, classid,
												filePath, type);
									},
									failure : function() {
										Ext.Msg.show({
													title : '上传失败信息',
													msg : resutjson.resultString,
													minWidth : 200,
													modal : true,
													icon : Ext.Msg.INFO,
													buttons : Ext.Msg.OK
												});
									}
								});
							}
						} else {
							Ext.Msg.show({
										title : '上传失败信息',
										msg : '格式错误,请上传Excel2003版的文件',
										minWidth : 200,
										modal : true,
										icon : Ext.Msg.INFO,
										buttons : Ext.Msg.OK
									});
							return;
						}
					}
				}, {
					text : '重置',
					handler : function() {
						uploadfp.getForm().reset();
					}
				}]
	});
	return uploadfp;
};
var showResutPanel;
function showpanel() {
	showResutPanel = new Ext.FormPanel({
				width : 500,
				autoHeight : true,
				bodyStyle : 'padding: 10px 10px 0 10px;',
				labelWidth : 50,
				layout : 'form',
				renderTo : document.body,
				items : [{
							xtype : 'textfield',
							fieldLabel : '文件名',
							labelSeparator : '：',
							name : 'fileName',
							id : 'fileName'
						}]
			});
}

// Ext.onReady(function() {
// Ext.lib.Ajax.defaultPostHeader += '; charset=utf-8';
// getUpldPanel('Fileupload!uploadFile.action', 'fi-form');
// });
function showTable(actionUrl, impId, classid, returnval, type) {
	Ext.getCmp('showW').destroy();
	Ext.MessageBox.show({
		title : '请等待',
		msg : '操作中...',
		width : 240,
		model : true,
		progress : true,
		closable : false,
		wait : true
			// waitConfig:{interval:600}
		});
	/*
	 * divs.style.display='none'; if (document.getElementById("divpbar") !=
	 * undefined) { document.getElementById("divpbar").style.display = "block"; }
	 * var pbar = new Ext.ProgressBar({ // 实例化进度条 renderTo : "divpbar", //
	 * 进度条呈现的一个DIV width : 300 // 进度条的宽度
	 * 
	 * }); pbar.updateText("executing..."); // 更新进度条的文本信息 pbar.wait({ // 开始执行进度条
	 * interval : 100, // 每次进度的时间间隔 duration : 5000, // 进度条跑动的持续时间 increment :
	 * 50, // 进度条的增量，这个值设的越大，进度条跑的越慢，不能小于1，如果小于1，进度条会跑出范围 fn : function() { //
	 * 进度条完成时执行的函数，也可设为nulll pbar.updateText("导入完成.");// 更新进度条的文本信息 } });
	 */

	Ext.Ajax.request({
				timeout:1800000,
				url : actionUrl == null || actionUrl == '' ? '' : actionUrl,
				method : 'post',
				params : {
					ex_interfaceid : impId,
					payClassId : classid,
					ex_publictype : type,
					uploadInfo : returnval
				},
				success : function(response, result) {
					var responseTextVale = Ext.util.JSON
							.decode(response.responseText);
					var resultStr = responseTextVale.msg;

					if ("导入完成" == resultStr) {
						/*
						 * if (document.getElementById("divpbar") != undefined) {
						 * document.getElementById("divpbar").style.display =
						 * "none"; }
						 */
						Ext.MessageBox.hide();
						/*
						 * pbar.reset(true); pbar.destroy();
						 */
						var aa = responseTextVale.strCm;
						eval("acm=[new Ext.grid.RowNumberer()," + aa + "];")
						var ss = new Ext.grid.ColumnModel(acm);
						var stFileds = responseTextVale.fields;
						eval("test1=" + stFileds + "");
						eval("badListTitle=" + stFileds + "");
						var gsotre = new Ext.data.Store({
									reader : new Ext.data.JsonReader({
												totalProperty : 'total'
											}, test1)
								});
						var bsotre = new Ext.data.Store({
									reader : new Ext.data.JsonReader({
												totalProperty : 'total'
											}, badListTitle)
								});
						if (type == 1013) {
							gsotre.loadData(responseTextVale.pbEmployeeList,
									false);
							bsotre.loadData(responseTextVale.badList, false)
						} else if (type == 1015) {
							gsotre.loadData(responseTextVale.glist, false);
							bsotre.loadData(responseTextVale.blist, false)

						} else if (type == 1017) {
							gsotre.loadData(responseTextVale.glist, false);
							bsotre.loadData(responseTextVale.blist, false)
						}
						var dataViewGridGrid = new Ext.grid.EditorGridPanel({
									footer : true,
									height : 270,
									width : 790,
									title : '数据检察通过的记录',
									anchor : '90%',
									id : 'dataViewGridGrid',
									autoScroll : true,
									cm : ss,
									store : gsotre,
									loadMask : true,
									loadMask : {
										msg : '正在加载数据...'
									}
								});
						var baddataViewGridGrid = new Ext.grid.EditorGridPanel(
								{
									footer : true,
									height : 270,
									width : 790,
									title : '出错的记录',
									anchor : '90%',
									id : 'baddataViewGridGrid',
									autoScroll : true,
									cm : ss,
									store : bsotre,
									loadMask : true,
									loadMask : {
										msg : '正在加载数据...'
									}
								});
						var win = new Ext.Window({
									width : 800,
									height : 300,
									title : '数据查看（未导入/检查通过的数据）',
									autoScroll : true,
									items : [baddataViewGridGrid,
											dataViewGridGrid]
								});
						win.show();

					} else {
						/*
						 * if (document.getElementById("divpbar") != undefined) {
						 * document.getElementById("divpbar").style.display =
						 * "none"; } pbar.reset(true); pbar.destroy();
						 */
						var errormsg = resultStr.substring(0, 5);
						alert(errormsg);
						if ("此次导入有" == errormsg) {
							Ext.Msg.show({
										title : '上传信息',
										msg : resultStr,
										minWidth : 200,
										modal : true,
										icon : Ext.Msg.INFO,
										buttons : Ext.Msg.OK
									});
						} else {
							Ext.Msg.show({
										title : '上传信息',
										msg : '上传失败,请联系管理员',
										minWidth : 200,
										modal : true,
										icon : Ext.Msg.INFO,
										buttons : Ext.Msg.OK
									});
						}

					}
				},
				failure : function(form, action) {
					var responseTextVale = Ext.util.JSON
							.decode(response.responseText);
					var resultStr = responseTextVale.msg;

					if ("导入完成" == resultStr) {
						/*
						 * if (document.getElementById("divpbar") != undefined) {
						 * document.getElementById("divpbar").style.display =
						 * "none"; }
						 */
						Ext.MessageBox.hide();
						/*
						 * pbar.reset(true); pbar.destroy();
						 */
						var aa = responseTextVale.strCm;
						eval("acm=[new Ext.grid.RowNumberer()," + aa + "];")
						var ss = new Ext.grid.ColumnModel(acm);
						var stFileds = responseTextVale.fields;
						eval("test1=" + stFileds + "");
						eval("badListTitle=" + stFileds + "");
						var gsotre = new Ext.data.Store({
									reader : new Ext.data.JsonReader({
												totalProperty : 'total'
											}, test1)
								});
						var bsotre = new Ext.data.Store({
									reader : new Ext.data.JsonReader({
												totalProperty : 'total'
											}, badListTitle)
								});
						if (type == 1013) {
							gsotre.loadData(responseTextVale.pbEmployeeList,
									false);
							bsotre.loadData(responseTextVale.badList, false)
						} else if (type == 1015) {
							gsotre.loadData(responseTextVale.glist, false);
							bsotre.loadData(responseTextVale.blist, false)

						} else if (type == 1017) {
							gsotre.loadData(responseTextVale.glist, false);
							bsotre.loadData(responseTextVale.blist, false)
						}
						var dataViewGridGrid = new Ext.grid.EditorGridPanel({
									footer : true,
									height : 270,
									width : 790,
									title : '数据检察通过的记录',
									anchor : '90%',
									id : 'dataViewGridGrid',
									autoScroll : true,
									cm : ss,
									store : gsotre,
									loadMask : true,
									loadMask : {
										msg : '正在加载数据...'
									}
								});
						var baddataViewGridGrid = new Ext.grid.EditorGridPanel(
								{
									footer : true,
									height : 270,
									width : 790,
									title : '出错的记录',
									anchor : '90%',
									id : 'baddataViewGridGrid',
									autoScroll : true,
									cm : ss,
									store : bsotre,
									loadMask : true,
									loadMask : {
										msg : '正在加载数据...'
									}
								});
						var win = new Ext.Window({
									width : 800,
									height : 300,
									title : '数据查看（未导入/检查通过的数据）',
									autoScroll : true,
									items : [baddataViewGridGrid,
											dataViewGridGrid]
								});
						win.show();

					} else {
						/*
						 * if (document.getElementById("divpbar") != undefined) {
						 * document.getElementById("divpbar").style.display =
						 * "none"; } pbar.reset(true); pbar.destroy();
						 */
						var errormsg = resultStr.substring(0, 5);
						alert(errormsg);
						if ("此次导入有" == errormsg) {
							Ext.Msg.show({
										title : '上传信息',
										msg : resultStr,
										minWidth : 200,
										modal : true,
										icon : Ext.Msg.INFO,
										buttons : Ext.Msg.OK
									});
						} else {
							Ext.Msg.show({
										title : '上传信息',
										msg : '上传失败,请联系管理员',
										minWidth : 200,
										modal : true,
										icon : Ext.Msg.INFO,
										buttons : Ext.Msg.OK
									});
						}

					}
				}

			});

	// gsotre.baseParams = {
	// masterId : impId,
	// payClassId : classid,
	// uploadInfo : returnval
	// }
	// gsotre.reload();
	// baseParams : {
	// beanName : 'industry_type'
	// }

}